CertiKOS: An Extensible Architecture for Building Certified Concurrent OS Kernels
نویسندگان
چکیده
Complete formal verification of a non-trivial concurrent OS kernel is widely considered a grand challenge. We present a novel compositional approach for building certified concurrent OS kernels. Concurrency allows interleaved execution of kernel/user modules across different layers of abstraction. Each such layer can have a different set of observable events. We insist on formally specifying these layers and their observable events, and then verifying each kernel module at its proper abstraction level. To support certified linking with other CPUs or threads, we prove a strong contextual refinement property for every kernel function, which states that the implementation of each such function will behave like its specification under any kernel/user context with any valid interleaving. We have successfully developed a practical concurrent OS kernel and verified its (contextual) functional correctness in Coq. Our certified kernel is written in 6500 lines of C and x86 assembly and runs on stock x86 multicore machines. To our knowledge, this is the first proof of functional correctness of a complete, general-purpose concurrent OS kernel with fine-grained locking.
منابع مشابه
My Current Work on CertiKOS
My research goal is to make critical software systems truly reliable and secure through formal verification. As the backbone of modern software systems, operating system (OS) kernels have great impacts on the reliability and security of today’s computing hosts. OS kernels, however, are complicated, highly concurrent, and prone to bugs. For the past several years, my research has focused on inve...
متن کاملEfficient parallelization of the genetic algorithm solution of traveling salesman problem on multi-core and many-core systems
Efficient parallelization of genetic algorithms (GAs) on state-of-the-art multi-threading or many-threading platforms is a challenge due to the difficulty of schedulation of hardware resources regarding the concurrency of threads. In this paper, for resolving the problem, a novel method is proposed, which parallelizes the GA by designing three concurrent kernels, each of which running some depe...
متن کاملAdvanced Development of Certified OS Kernels
1 Innovative Claims Operating System (OS) kernels form the bedrock of all system software—they can have the greatest impact on the resilience, extensibility, and security of today's computing hosts. A single kernel bug can easily wreck the entire system's integrity and protection. We propose to apply new advances in certified software [86] to the development of a novel OS kernel. Our certified ...
متن کاملExtensible Kernels are Leading OS Research Astray
We argue that ongoing research in extensible kernels largely fails to address the real challenges facing the OS community. Instead, these efforts have become entangled in trying to solve the safety problems that extensibility itself introduces into OS design. We propose a pragmatic approach to extensibility, where kernel extensions are used in experimental settings to evaluate and develop OS en...
متن کاملTransparent Protection of Commodity OS Kernels Using Hardware Virtualization
Kernel rootkits are among the most insidious threats to computer security today. By employing various code injection techniques, they are able to maintain an omnipotent presence in the compromised OS kernels. Existing preventive countermeasures typically employ virtualization technology as part of their solutions. However, they are still limited in either (1) requiring modifying the OS kernel s...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2016